/*
题目描述：调整数组顺序使得奇数位于偶数的前面
方法：
1. 设置两个指针 p1 指向左端, p2 指向右端, p1右移遇到偶数， p2左移遇到奇数，满足条件 p1 < p2的时候，交换二者
2. 将函数解耦出来，实现功能的拓展,在E21_2中实现

这种方法打乱了原来数的相对位置！
 */
public class E21_1 {
    public static void main(String[] args) {
        int[] array = {6,3,1,2,4,5,7,0};
        reOrderArray(array);
        for(int a : array){
            System.out.print(a + " ");
        }
        System.out.println();
    }

    public static void reOrderArray(int [] array){
        if(array == null || array.length == 0){
            return;
        }
        int left = 0;
        int right = array.length - 1;
        while(left < right){
            while(left < right && (array[left] % 2 == 1)){
                left ++;
            }
            while(left < right && array[right] % 2 == 0){
                right --;
            }

            if(left < right){
                int temp = array[left];
                array[left] = array[right];
                array[right] = temp;
            }
        }
    }
}
